Message Range ReplayWith the Resend Request message, a receiving application asks for the retransmission of previously sent messages. The previously sent messages span over an input range of sequence numbers. The input range is specified with BeginSeqNo (Tag 7) and EndSeqNo (Tag 16). To request only one message, BeginSeqNo is set equal to EndSeqNo. The specification of zero (0) for EndSeqNo indicates that the requested range would end with the sent message of highest sequence number (i.e. the last message sent).
Resend Request messages are commonly encountered in the following conditions:
- Sequence number gap is detected
- A message has been lost by a receiving application
- Part of the re-initialization process for an out-of sequence condition
A proper response for a Resend Request includes all the application messages (with the exception of
MarketData Snapshot and
Security Definition) but no administrative messages (with the exception of
Reject). The resending application may decide not to resend specific messages (e.g. NewOrder) if it considers it risky or the messages would be resent out of an acceptable time window. All messages (resent by the application honoring the Resend Request) must be labeled as a Possible Duplicate (i.e. Tag 43=Y). The T4 FIX API will honor all Possible Duplicates received from the client. If message gaps exist in the resend message lot,
Sequence Reset messages can be received to fill the sequence number gap. This is a common occurrence when administrative messages are excluded from the resend lot.
Message DictionaryTag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = 2 |
7 | BeginSeqNo | Y | Message sequence number of first message in range to be resent |
16 | EndSeqNo | Y | Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = "0" (representing infinity). |
| Standard Trailer | Y |
Sample Messages
Resend Request - All messages starting at sequence number 12:
34=568|49=T4Example|56=T4|50=TraderName|52=20120905-19:57:01.947|7=12|16=0|
[FIXRESENDREQUEST]
[MsgSeqNum] 34 = 568
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20120905-19:57:01.947
[BeginSeqNo] 7 = 12
[EndSeqNo] 16 = 0
FIX API Home Page.